查看原文
其他

视频 | Substrate 是下一代区块链通用框架

PolkaWorld 2019-08-03

加入 www.polkaworld.org 社区,共建 Web 3.0!

今天分享一条介绍 Substrate 的视频,是 ChainX 联合创始人郭光华在密码极客线下分享活动上的演讲。


Substrate 是在开发 Polkadot 时提炼出的开源区块链开发框架,它为 Polkadot 提供了支持的基干。连接到 Polkadot 的大多数平行链(如 ChainX)也是基于 Substrate 构建的。 


视频完整版:



文字浓缩版:



开源 Code 三层次

  • 初级层次:能正确写出能用的代码, 但得不到广泛应用。

  • 中级层次:能写出优秀的代码,但难以和他人一起团队维护,如 Lua, python。

  • 终极层次:高瞻远瞩,定义通用框架,可以吸引不同层次的 Coder 来写与之能力匹配的地方。 如,Linux(各个层次分明),代码领袖(linus)身体力强,充满了才华,百年难遇的核心人物。Substrate 同样也是这个层次, 很像 Linux 的开源。



Substrate 构成


Substrate (https://github.com/paritytech/substrate) 由 Core, SRML, Node 三块构成。



  • Core 模块是链的基石模块,相当于手机的硬件组成部分。 

  • SRML(Substrate Runtime Module Library)模块是可以动态升级的 runtime 模块,相当于手机的系统部分, 随时可以基于更优版本的升级而动态升级。

  • Node 就是 substrate 链的示例代码, 能正常跑起来的最简单 demo。


Core 模块由许多基本模块组成, 如网络、共识、存储和 rpc 等。 然而他们同样是可以热插拔替换的,比如 p2p 就实现了 2 个版本(ETH devp2p, IPFS 的libp2p), 当然你可以随时更换你认为最优的 p2p。再如共识: 支持 Pbft, POA, ouroborous 等等你能用的优秀共识。 存储现在用的还是 ethereum 的 PAT 树和 rocksdb, 但可以只要实现几个 trait,就可以轻松替换存储。 



SRML 模块可以包含系统级合约,和用户层合约。 系统级合约相当于手机中的操作系统, 可以动态升级, 用户层合约相当于手机上的应用, 任何开发者可以部署自己的 App。



Node 模块是由前两个模块组合起来的 substrate 链示例代码, 是能正常跑起来的最简单 demo。




Runtime 和编程语言



目前 Runtime 已经支持 RUST std 版本的二进制直接集成或者 no_std 的 RUST 版本 Wasm 动态更新。 其余能够编写成 Wasm 的语言(C++, js等)都能够尝试集成 Substrate 的接口,然后编成Wasm, 可以动态地更新于基于 Substrate 的链上。



通俗地讲:你先用 RUST 写了 Runtime, 跑起来了你的第一个版本的主链, 然后你可以用 C++ 或者任何能够编成 WASM 的语言来实现你的下一个版本的 Runtime。 然后不用硬分叉,动态顺滑地通过治理投票升级到你后面实现的 Runtime 版本。

本文转载自公众号 “ChainX 社区”。

更多技术文章:


视频 | Gavin Wood 讲解最新 Substrate 模块代码(有中文翻译)

干货 | 听 Gavin Wood 亲自解读波卡新设计“平行线程”

Polkaworld 工作坊杭州站视频和代码

ChainSafe:为什么开发者需要 Polakdot


扫码关注公众号,回复 “1” 加入 PolkaWorld 波卡群

关注 PolkaWorld

发现 Web 3.0 时代新机遇


点个 “好看” 再走吧!

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存